package mc.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mc.bus.IBazaPacjentow;
import mc.domain.Pacjent;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
/**
 * @author nickname
 * Controller zwracajacy szczegolowe informacje o pacjencie
 * Przyjmuje parametr id, w razie podania blednego id lub id nieistniejacego w bazie zwraca error page
 * Podanie dowolniej wartosci argumentu ?action= w polaczeniu z poprawnym ?id= spowoduje wyswietlnie widoku
 * pierwszej strony karty "ambulatoryjna historia choroby" 
 *
 */
 
 
public class ShowPacjentDetailsController extends AbstractController {

	private IBazaPacjentow bazapacjentow;
	
	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		ModelAndView mv  = new ModelAndView("pacjentszczegoly","pacjent", null);
		String id = request.getParameter("id");
		String action = request.getParameter("action");
		Pacjent pacjent = null;
		
		  if (!StringUtils.isBlank(id) && StringUtils.isBlank(action)){
				
				int iid = 0;
				
					try { iid = new Integer(id);}
						
					catch (Exception e) {return mv;}
				
					 pacjent = bazapacjentow.getFullPacjentById(iid);
					 
					 return pacjent!=null ? new ModelAndView("pacjentszczegoly","pacjent",pacjent) : mv ;
			}
			
		  else {
			  
			  	int iid = 0;
			  	
			  		try { iid = new Integer(id);}
					
			  		catch (Exception e) {return mv;}
			
			  		pacjent = bazapacjentow.getFullPacjentById(iid);
			  		
			  		return new ModelAndView("karta","pacjent", pacjent);
			  			  
		  }
					
	}

	
	public IBazaPacjentow getBazapacjentow() {
		return bazapacjentow;
	}

	public void setBazapacjentow(IBazaPacjentow bazapacjentow) {
		this.bazapacjentow = bazapacjentow;
	}

}
